import {ICoordinate} from "./ICoordinate";
import {ISymbolConfig} from "./ISymbolConfig";

export enum DrawCommand {
    MOVETO,
    LINETO,
    ARC,
    FILL_ARC,
    PIXEL,
    POLYGON
}

export class SymbolDrawDefinition {
    command: DrawCommand = DrawCommand.MOVETO;
    coords: Array<ICoordinate> = [];
    radius: number = 0;
    start: number = 0;
    end: number = 0;
}

export interface ISymbolDrawer {
    drawCommand: Array<SymbolDrawDefinition>;

    draw(context: CanvasRenderingContext2D, coordinate: ICoordinate, scaleIndex: number, symbol?: ISymbolConfig): void;

    reset(): void;
}